Na maioria dos países democráticos, os parlamentares costumam adotar perfis em redes sociais como canais de comunicação não-oficiais, através dos quais podem não somente divulgar sua atuação política, mas também comentar assuntos cotidianos e entrar em contato direto da população em geral.
O Twitter tem atraído bastante a atenção dos brasileiros nos últimos meses e, muitas vezes, isso não se deve às suas funcionalidades, mas às polêmicas geradas a partir de postagens de figuras políticas do país. Nesse sentido, decidiu-se explorar os dados de nossos parlamentares twitteiros na tentativa de compreender melhor como tweeta o Congresso Nacional brasileiro.
Para as análises apresentadas a seguir, foram utilizadas as bibliotecas tidyverse, ggplot2, ggbeeswarm e scales. Já os dados utilizados estão estruturados da seguinte maneira:
glimpse(atividade)
## Observations: 608
## Variables: 19
## $ id_parlamentar <chr> "204554", "204521", "204379", "204560", ...
## $ casa <chr> "câmara", "câmara", "câmara", "câmara", ...
## $ nome_eleitoral <chr> "ABÍLIO SANTANA", "ABOU ANNI", "ACÁCIO F...
## $ partido <chr> "PR", "PSL", "PROS", "PSDB", "NOVO", "PP...
## $ UF <chr> "BA", "SP", "AP", "BA", "SP", "GO", "MG"...
## $ twitter <chr> "AbilioSantana_", "abouannipv", "Favacho...
## $ seguidores <dbl> NA, NA, NA, NA, 4652, NA, NA, NA, NA, NA...
## $ segue <dbl> NA, NA, NA, NA, 315, NA, NA, NA, NA, NA,...
## $ n_proprio <dbl> 0, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, NA,...
## $ n_retweet <dbl> 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, NA, ...
## $ engaj_total <dbl> 0, 0, 0, 0, 7090, 0, 0, 0, 0, 0, 0, 0, N...
## $ engaj_total_proprio <dbl> 0, 0, 0, 0, 6701, 0, 0, 0, 0, 0, 0, 0, N...
## $ engaj_total_retweet <dbl> 0, 0, 0, 0, 389, 0, 0, 0, 0, 0, 0, 0, NA...
## $ engaj_mediano <dbl> 0.0, 0.0, 0.0, 0.0, 26.5, 0.0, 0.0, 0.0,...
## $ engaj_mediano_proprio <dbl> 0.0, 0.0, 0.0, 0.0, 22.5, 0.0, 0.0, 0.0,...
## $ engaj_mediano_retweet <dbl> 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ...
## $ engaj_max <dbl> 0, 0, 0, 0, 1031, 0, 0, 0, 0, 0, 0, 0, N...
## $ engaj_max_proprio <dbl> 0, 0, 0, 0, 1031, 0, 0, 0, 0, 0, 0, 0, N...
## $ engaj_max_retweet <dbl> 0, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, NA,...
Para contabilizar o conteúdo produzido no Twitter será utilizada a soma do número de tweets e retweets de cada parlamentar. Considerando que o número de parlamentares eleitos por partido varia muito, será utilizada a mediana da soma (com agrupamento por partido) citada anteriormente. Por fim, não serão analisados parlamentares sem partido.
parlamentares_com_tt <- atividade %>% filter(!is.na(twitter))
parlamentares_com_tt <- parlamentares_com_tt %>% mutate(total_tweets = n_proprio + n_retweet)
plot_1 = parlamentares_com_tt %>%
group_by(partido) %>%
filter(partido != "S/Partido") %>%
summarise(conteudo_produzido = median(total_tweets, na.rm = TRUE),
median_retweet = median(n_retweet, na.rm = TRUE),
median_proprio = median(n_proprio, na.rm = TRUE)) %>%
ggplot(aes(x = reorder(partido, conteudo_produzido), y = conteudo_produzido, alpha = .8,
text = paste("Partido:", partido,
"<br>Número de tweets:", median_proprio,
"<br>Número de retweets:", median_retweet))) +
geom_col(show.legend = FALSE) +
labs(x = 'Partido', y = 'Mediana do número de tweets de 2019', title = 'Conteúdo produzido por Parlamentar') +
coord_flip()
ggplotly(plot_1, tooltip = c("text"))
# Colocar cores bonitas
Conforme o gráfico de barras acima, os partidos mais twitteiros do Brasil são o PSOL, o PCdoB e o NOVO. É interessante notar que os partidos com mais parlamentares eleitos (PSL e PT) não figuram entre as primeiras posições e que a mediana de tweets do PSOL se aproxima do dobro da mediana do 2º colocado. Ainda, descobriu-se alguns partidos (PR, PPL, DC e AVANTE) em que todos os parlamentares eleitos que tem uma conta no Twitter são ou estão inativos nessa rede social.
Considerando que a Câmara de Deputados tem 513 parlamentares enquanto o senado federal tem apenas 81, utilizou-se mediana do número de tweets e de retweets, em vez de considerar a soma do somatório do número de retweets e tweets.
plot_2 = parlamentares_com_tt %>%
ggplot(aes(x = casa, y = total_tweets, color = casa)) +
geom_quasirandom(aes(alpha = .4), show.legend = FALSE) +
stat_summary(geom = "point", fun.y = "median", size = 2, color = 'black') +
scale_y_continuous(trans = "sqrt")
plot_2
dados2_2_1 = atividade %>%
mutate(participacao = n_retweet + n_proprio, na.rm = TRUE) %>%
filter(casa == "câmara") %>%
top_n(10, participacao)
vis2_2_1 = dados2_2_1 %>%
ggplot(aes(x= reorder(nome_eleitoral,participacao), y= participacao,fill = nome_eleitoral, alpha = .4, text = paste("Casa:", casa, "<br>Número de tweets:", n_proprio, "<br>Número de retweets:", n_retweet))) +
geom_col(show.legend = FALSE) +
coord_flip() +
scale_fill_brewer(palette = "Set3")
dados2_2_2 = atividade %>%
mutate(participacao = n_retweet + n_proprio, na.rm = TRUE) %>%
filter(casa == "senado") %>%
top_n(10, participacao)
vis2_2_2 = dados2_2_2 %>%
ggplot(aes(x= reorder(nome_eleitoral,participacao), y= participacao,fill = nome_eleitoral, alpha = .4, text = paste("Casa:", casa, "<br>Número de tweets:", n_proprio, "<br>Número de retweets:", n_retweet))) +
geom_col(show.legend = FALSE) +
ggtitle("10 políticos mais ativos") +
coord_flip() +
scale_fill_brewer(palette = "Set3")
subplot(ggplotly(vis2_2_1, tooltip = c("text")), ggplotly(vis2_2_2, tooltip = c("text")), nrows = 2)
Perante a visualização, foi possível perceber que apesar dos números brutos a câmara mais tweets e retweets, proporcionalmente o senado é mais ativo.
Para definir cada político mais ativo em cada casa, diferente das outras análises, foram utilizados números brutos, já que estamos trabalhando com cada deputado/senador por vez, tornando-se assim, desnecessário fazer somatórios, médias ou medianas.
Perante os gráficos, foi possível perceber que tanto Bacelar, na Câmara de deputados, quanto Álvaro Dias, Humberto Costa, Jorge Kajuru e Lasier Martins, no Senado Federal, são muito mais ativos que os demais.
Para responder esta pergunta, é necessário entender onde cada partido político se localiza no espectro político. Dada a subjetividade desta avaliação, adotou-se o modo como os próprios partidos se descrevem e não a atuação de seus parlamentares, gerando três grandes grupos de partidos: esquerda, centro e direita. Considerando a diferença no número de partidos e de parlamentares em cada um desses grupos, decidiu-se utilizar o engajamento mediano como métrica da análise, sendo este engajamento a soma do número de likes e de retweets recebidos pelos parlamentares. Além disso, por questões de visualização, adotou-se uma escala logarítmica.
centro <- c("AVANTE", "MDB", "PSD", "PSDB", "PTB", "SOLIDARIEDADE")
esquerda <- c("PCdoB", "PDT", "PMN", "PPL", "PPS", "PROS", "PSB", "PSOL", "PT", "PV", "REDE")
direita <- c("DC", "DEM", "NOVO", "PATRI", "PHS", "PODE", "PP", "PR", "PRB", "PRP", "PSC", "PSL")
parlamentares_com_tt <- parlamentares_com_tt %>%
mutate(posicionamento = case_when(
partido %in% centro ~ "Centro",
partido %in% esquerda ~ "Esquerda",
partido %in% direita ~ "Direita",
TRUE ~ NA_character_
))
parlamentares_com_tt %>%
mutate(ordem_posicionamento = case_when(
posicionamento == "Esquerda" ~ 1,
posicionamento == "Centro" ~ 2,
posicionamento == "Direita" ~ 3
)) %>%
filter(!is.na(posicionamento)) %>%
ggplot(aes(x = reorder(posicionamento, ordem_posicionamento), y = engaj_mediano, color = posicionamento)) +
geom_boxplot(coef = 1000, show.legend = FALSE) +
geom_quasirandom(alpha = .3, show.legend = FALSE) +
labs(x = "Posicionamento político", y = "Engajamento mediano (em log10)") +
scale_y_log10()
# Permitir visualizar o nome dos parlamentares em cada um dos pontos
Os três grandes grupos do espectro político apresentaram características bem peculiares. Excetuando-se alguns poucos parlamentares, os partidos centristas tem resultados bem inferiores aos demais quanto ao engajamento gerado via Twitter, o que não chega a surpreender dado o nosso cenário político. Já a esquerda conta com a maior das medianas encontradas e engajamentos mais homogêneos entre seus parlamentares. Por fim, a direita conta com valores mais dispersos, mas também com os parlamentares que geram os maiores engajamentos.